Typically, in a packet switched network such as the Internet, the information is being transmitted via a series of addressed packets, which are automatically routed from a source node (the sender) to a destination node (the receiver), passing through a plurality of intermediate nodes and routers during the process of transmission. There are several information transmission protocols that outline technical characteristics of such network transmissions. Currently, one of the most prominent and widely used network transmission protocols is TCP/IP (Transmission Control Protocol/Internet Protocol).
The TCP/IP transmissions are presently supported by almost all operating systems. Thus, most personal computers, along with many Internet-enabled devices such as handheld computers, cellular phones, pagers, and many other devices, are presently capable of engaging in information exchange based upon TCP/IP communication standard. The TCP/IP includes a network layer protocol IP intended for routing of above-mentioned information packets by network hardware equipment such as nodes, hubs, bridges, gateways and routers.
The routing is conducted by using a system of 32-bit IP addresses and routing tables. In a packet switched network such as the Internet, each connected device has its own unique IP address. A typical IP address is a four-byte (or 32-bit) number, subdivided into four 8-bit figures (also called octets) which are separated by points. Each octet is a figure carries a value from 000 to 255. Some Internet connected devices have “fixed” or “static” IP addresses, meaning their assigned IP values stay constant and never change. Other devices have “dynamic” IPs that change values upon each new network connection.
All IP addresses are further classified into five different classes (A, B, C, D, E) to facilitate the use of network devices with different degrees of interconnectivity. Thus, all intermediary Internet nodes (routers) maintain constant connection between each other, constantly exchanging their routing table connection information. Each information packet includes a header containing the IP addresses of the source, the destination nodes, as well as a sequence number which specifies the current packet's order in the transmission.
Because each router is concurrently connected to a plurality of networks, the information packets are being delivered according to a routing table information of intermediary routers and the source/destination IP addresses included in packets headers. Thus, the packets are transferred in a sequential fashion, one after another, by means of all intermediary routers performing the above-described routing procedure until all transmitted packets reach their corresponding destination nodes. However complex this TCP/IP packet transmission model may be, the Internet is designed for use by ordinary people, many of whom possess only minimal computer networking knowledge.
Thus, it becomes pivotal to supplement the very complex linking engine of Internet with user-friendly and intuitive-to-use interface. A very important step was introduction of browsing software (i.e. web browsers such as Netscape Navigator or Microsoft Internet Explorer) that allowed Internet users to request and display text and graphics, typically contained within a Hyper Text Markup Language (HTML) document also called a web page.
Another important advancement was introduction of Domain Name Service (DNS). The major role of DNS is to assign certain alphanumeric strings (also known as “web addresses” or “Uniform Resource Locators”) to a registered subset of network IP addresses, thus making it more intuitive and simple for a user to effectively make use of available Internet resources.
For example, the IP address “63.71.228.67” is assigned the Uniform Resource Locator of “www.uspto.gov”, which is a web page of the US Patent and Trademark Office. One of the main advantages of this arrangement is that an alphanumeric string is easier to remember because it often conveys more meaning to the end user. When accessing web pages over the Internet (i.e. “surfing the web”), the user would typically type the URL of a known web site or any other known Internet resource into a web browsing application. A web browsing application will then prompt the DNS server to convert the alphanumeric URL into an IP address. The web browsing application will then send a data request to the identified IP resource, using the IP number as a “send-to” address for its data request. Once the data request has reached the identified Internet resource, the requested information is instantly forwarded back to the receiver in the form of sequentially arranged packets. Upon the reception of transmitted packets, a web browsing application would reconstruct the transmitted resource (i.e. an HTML document) back into its original form and display it to the end user. It is important to note, however, that the function of DNS is mostly optional. For example, typing the IP address “216.32.74.52” or the alphanumeric URL “www.yahoo.com” into a web browsing application would in both cases result in the retrieval of the same Internet resource.
Thus, in many cases, the end user can access the Internet resource by interchangeably using its DNS-assigned alphanumeric URL (like “http://www.yahoo.com”) or its IP-based URL (like “http://216.32.74.52”).
The above described connectivity model works rather well for the HTTP-based transmissions of basic HTML documents that may include text and simple graphics. However, the same conventional approach often proves ineffective for accessing the Internet resources containing rich multimedia content, such as multimedia content, including audio-visual content.
One of the difficulties is that by nature, audio and video media files are very large, and usually take very long time to completely download. Even with currently known data compression techniques, transmitting these files over the Internet often proves difficult taking into account the limited bandwidth (i.e. the Internet connection throughput capability) available to many Internet users.
Thus, there is a need for a method of multimedia content transmission where end-users can avoid downloading the entire multimedia file before being able to play it. Another difficulty arises when the user attempts to make his or her audio-visual content available for online access and/or viewing by other Internet users. One part of this problem is that, in most cases, to make audio and/or video files available online, the above mentioned files must first be copied to a third-party Web server and then somehow linked to or published on a web page or any other Internet resource in order to make these files visible to a web browsing application. This time consuming process of copying large multimedia files over a limited bandwidth impedes the immediacy of multimedia content sharing. It makes the task of real-time multimedia content sharing (i.e. real-time audio-visual communications) virtually impossible.
Thus, there is a need for a method of multimedia content transmission where end-users can instantly share multimedia content without having to upload large multimedia files onto third party web servers. Yet another aspect of this problem is that in order for a multimedia file to be visible to a web browsing application, the file must be compatible with the particular web browsing application in use.
Currently, there is a growing number of proprietary multimedia file types that are not instantly compatible with a generic web browsing application. Many of these proprietary file types require download and installation of additional third-party applications (i.e. “viewers”, “players”, and “plugins”) which often complicate the process of online multimedia sharing even further.
Thus, there is a strong need for a method of multimedia content transmission where users can share multimedia content in a manner instantly compatible with any generic web browsing application. A typical Internet user is accustomed to a near-immediate information availability while using web browsing applications.
However, it has been found that real-time, immediate response multimedia applications are very resource-intensive to implement. For that reason, real-time audio-visual applications have traditionally been implemented on proprietary and expensive high-bandwidth networks that are capable of supporting high speed data transmissions and/or multicasting techniques.
A multicasting method and apparatus is disclosed in U.S. Pat. No. 6,119,163 issued to Monteiro et al. It is proposed to implement an extensive network infrastructure containing administration server, primary servers, control servers, media servers and multicast routers with the purpose of delivery of high-quality multimedia content. However, such dedicated systems and infrastructures are very costly and not readily available to the average Internet user. In addition, the above mentioned system relies heavily on multicasting technique, whereby the information packets have been replicated and delivered to all desired recipients. However, multicasting may not be used widely due to its technical limitations.
The majority of Internet network routers do not have the capability to support the protocol, while some network segments that support multicasting often become overwhelmed by the number of packets routed through them. For these reasons, IP multicast systems are mostly commonly used in a highly selective manner and, as a result, are not readily available for public use.
Another U.S. Pat. No. 6,151,632 issued to Chaddha et al. for method and apparatus for distributed transmission of real-time multimedia information describes an information delivery system consisting of LiveStation server, recaster servers, secondary recaster servers, secondary servers and clients. Such an elaborate system is very costly and resource-intensive to implement.
Yet another U.S. Pat. No. 5,583,561 issued to Baker et al. for multi-cast digital video data server using synchronization groups describes a delivery system including a video library server, control server and video servers that deliver digital video data to Internet viewers using multi-cast synchronization groups. As mentioned before, multicasting technology and extensive distribution network described are not readily available for public use. Thus, such delivery system is only useful in a limited context.
U.S. Pat. No. 6,157,809 issued to Kambayashi for broadcasting system, broadcast receiving unit, and recording medium used in the broadcasting system describes a VOD (video-on-demand) system for one-way on-demand delivery of audio-visual information stored on a central video server. The downside of such system is that centrally positioned video server and/or network routers located on routing pathways leading to the central video server could be easily overloaded by the flow of packets, resulting in unavailability of this on-demand delivery service to some users. In practice, equivalent type distribution networks with a centrally located storage of resource-intensive data have been shown to be easily susceptible to packet traffic overload.
U.S. Pat. No. 6,119,144 issued to Fujita et al. for apparatus and method for information transfer between a video server and a general purpose computer or the like describes a system utilizing extended FTP (File Transfer Protocol) for video information transfer between a video server and a computer. The described method utilizes information transfer method which relies heavily on data transfers between a computer and a centrally located video server, on which the resource-intensive audio-visual information is stored. Such centralized system layout would make it susceptible to traffic overload often causing frequent service blackouts in a multi-client environment such as the Internet.
All of the above mentioned distribution networks are described in detail, but little or no disclosure is made of a mechanism for efficient and instantaneous exchange of real-time multimedia content between Internet users. Thus, while such systems may be useful in limited contexts, they do not provide the capabilities, instantaneous delivery and ease of use required for maximally effective online multimedia content delivery and/or exchange that could be performed by the average Internet user.
Specifically, many Internet users are interested in a two-way real-time information exchange; that is the ability to capture and broadcast multimedia content to other Internet users over the web is just as important as the ability to receive and display such content. However, none of the above mention systems provide means for a two-directional real-time multimedia content exchange between Internet users. In addition, none of the above mentioned systems addressed the issue of instant multimedia content compatibility with a generic web browsing application, which is of principal importance to the average Internet user.
The instant content compatibility significantly expands the potential audience of such content exchange to include every Internet user in the world. Hence, there is a strongly felt need for cost-effective and easy to implement real-time multimedia content sharing application capable of instantaneous cross-platform delivery of multimedia content to any web browsing application or any other Internet enabled device. Present invention discloses a method and a system designed to perform the above mentioned task.